library Wave12a initializer init requires LegacySystem


    private function Wave12a takes nothing returns nothing
        set udg_CurrentWave = 12
        call GenericActions.execute()
        call RandomSpawn('z002',1,udg_Spawn) //Slasher
        call RandomSpawn('n00N',2,udg_Spawn) //Mass HP Zombie
        call RandomSpawn('uabo',1,GetRandomInt(0, 1)) //Flesh Composite
        call SpawnRectRandom(gg_rct_SpawnEastBottom,Player(13),'n003',2+udg_Spawn)
        call SpawnRectRandom(gg_rct_SpawnSouthWaterfall,Player(13),'n003',2+udg_Spawn)
        
        call SetCrepitusSpawnEnabled(true)
        
        call PolledWait(30.0*udg_Pace)
        call LightningAmbience.execute()
        call GankUnit(udg_Hero[GetRandomInt(1, udg_Players)],Player(13),'n00D',2+udg_Spawn,1600,2000)
        call PolledWait(30.0*udg_Pace)
        call RandomSpawn('n00N',2,udg_Spawn) //Mass HP Zombie
        call SpawnRectRandom(gg_rct_SpawnEastCave,Player(14),'nsw1',udg_Players)
        call GankMarine(Player(13),'n003',udg_Spawn,1600,2000)
        call PolledWait(30.0*udg_Pace)
        set udg_Visibility = 63
        call IntermissionRestore()
        call RandomSpawn('n00N',2,udg_Spawn) //Mass HP Zombie
        call GeneralText(2.5, "|cffcd950cMarine|r : Conserve ammunition. We're going to be on our own a while more." )
        call LightningAmbience.execute()
        call RandomSpawn('u005',2,GetRandomInt(1,udg_Players)) //Gargolye #2
        call GankMarine(Player(13),'n00D',2+udg_Spawn,1600,2000)
        call PolledWait(30.0*udg_Pace)
        call SetRevelationSpawnEnabled(true)
        if udg_Players>0 then
            call ExecuteRegisteredFunction("Wave13a")
            //call Wave13a.execute()
        endif
    endfunction

    
    private function init takes nothing returns nothing
        call RegisterFunction("Wave12a", function Wave12a)
        // call ExecuteRegisteredFunction("Wave12a")
    endfunction
    
endlibrary

